#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLabel>
#include <QProgressBar>
#include <QPushButton>

//状态栏是应用程序中输出简要信息的区域。一般位于主窗口的最底部，一个窗口中最多只能有一个状态栏。
//在 Qt 中，状态栏是通过 QStatusBar类 来实现的。 在状态栏中可以显示的消息类型有：
//• 实时消息：如当前程序状态
//• 永久消息：如程序版本号，机构名称
//• 进度消息：如进度条提示，百分百提示

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //和QmenuBar类似,存在就取,不存在就创建
    QStatusBar* statusBar = this->statusBar();
    //如果状态栏没有被创建，这样的设置是必要的
    //如果状态栏已经在窗口中存在，这样的设置其实意义不大，但是也没副作用。仍然保留。
    this->setStatusBar(statusBar);

    //显示一个临时的信息
    //然后显示3秒后消失
    //statusBar->showMessage("这是一个状态信息", 3000);

    //给状态栏中添加子控件
    QLabel* label1 = new QLabel("这是一个QLabel");
    //后面是拉伸系数
    statusBar->addWidget(label1, 1);

    QLabel* label2 = new QLabel("这是另一个QLabel");
    statusBar->addWidget(label2, 2);

    QProgressBar* progressBar = new QProgressBar();
    progressBar->setRange(0, 100);
    progressBar->setValue(25);
    statusBar->addWidget(progressBar, 3);

    QPushButton* pushButton = new QPushButton("按钮");
    statusBar->addWidget(pushButton, 1);

    //statusBar->addWidget(), 是从左往右添加
    //statusBar->addPermanentWidget(), 是从右往左添加
}

MainWindow::~MainWindow()
{
    delete ui;
}

